/**
 * 
 */
package com.java.test.system.service;

import java.util.List;

import com.java.test.system.dto.LogInfo;
import com.java.test.system.dto.LoginAccountInfo;
import com.java.test.system.dto.MenuInfo;
import com.java.test.system.dto.PowerInfo;
import com.java.test.system.dto.RoleInfo;
import com.java.test.util.PageInfo;

/**
 * @author 系統管理
 *
 */
public interface SystemManageService {

	/******* ===== 角色 ===== *************/
	
	
	/**
	 * 條件查詢角色
	 * @param info
	 * @return
	 */
	public List<RoleInfo> selectroleList(RoleInfo info);
	
	
	/**
	 * 添加角色
	 * @param info
	 * @return
	 */
	public int insertroleInfo(RoleInfo info);
	
	
	/**
	 * 单个角色查询
	 * @param info
	 * @return
	 */
	public RoleInfo selectrolebyId(RoleInfo info);

	
	/**
	 * 更新角色
	 * @param info
	 * @return
	 */
	public int updateroleInfo(RoleInfo info);

	
	/**
	 * 删除角色
	 * @param info
	 * @return
	 */
	public int deleteroleInfo(RoleInfo info);

	/*** ======== 登陸賬號 ========= ***/

	/**
	 * 登陆账号分页
	 * 
	 * @param info
	 * @return
	 */
	public PageInfo<LoginAccountInfo> selectaccountList(PageInfo<LoginAccountInfo> page);

	/**
	 * 
	 * 添加登陸賬號
	 * 
	 * @param info
	 * @return
	 */
	public int insertloginaccountInfo(LoginAccountInfo info);

	/**
	 * 
	 * 删除登陆账号
	 * 
	 * @param ids
	 * @return
	 */
	public int deleteloginaccountInfo(int[] ids);

	/**
	 * 解封
	 * 
	 * @param ids
	 * @return
	 */
	public int updateloginaccountInfouse(int[] ids);

	/**
	 * 封禁
	 * 
	 * @param ids
	 * @return
	 */
	public int updateloginaccountInfonotuser(int[] ids);

	/**
	 * 修改登陆密码
	 * 
	 * @param info
	 * @return
	 */
	public int updateloginaccountPassword(LoginAccountInfo info);
	
	
	
	/**
	 * 
	 * 查询菜单
	 * @return
	 */
	public PowerInfo selectallMenuList();
	
	
	/**
	 * 用户登录
	 * @param userName
	 * @param password
	 * @return
	 */
	public LoginAccountInfo loginuser(String userName,String password);
	
	
	/**
	 * 查询登录用户权限
	 * @param role
	 * @return
	 */
	public List<MenuInfo> selectloginuserMenu(int role);
	
	
	/*****============  日志   ============*******/
	
	/**
	 * 登陆账号分页
	 * 
	 * @param info
	 * @return
	 */
	public PageInfo<LogInfo> selectlogList(PageInfo<LogInfo> page);
	
	
	/**
	 * 添加日志
	 * @param info
	 * @return
	 */
	public int insertlogInfo(String loginaccount,String ip,String msgcontent);


	/**
	 * @param userName
	 * @return
	 */
	public LoginAccountInfo loginuserisexits(String userName);
	
}
